Snowflake×dbtを試してみた~Part1:基本設定編~ #SnowflakeDB #dbt
※本エントリは、Snowflakeをより使いこなそう! Advent Calendar 2021の19日目の記事となります。
さがらです。
Snowflake公式のdbtと連携した時の機能を一通り試すことが出来るQUICKSTARTSに関して試してみた内容をまとめていきます。※この記事は「Part1:基本設定編」となります。
この記事の内容について
Snowflake公式のQUICKSTARTSに、Accelerating Data Teams with dbt & SnowflakeというSnowflakeとdbtを組み合わせたときの利点を一通り試すことが出来るクイックスタートがあります。
こちらの内容について、以下の合計5本の構成で試してみた内容を書いていきます。
- Part1:基本設定編 ※この記事です
- 「1.Overview」から「5. dbt Configuration」
- Part2:Project設定編 ※12/20に公開予定、公開後にリンクも正常に動作します。
- 「6. dbt Project Configuration」
- Part3:パイプライン構築編その1 ※12/21に公開予定、公開後にリンクも正常に動作します。
- 「7. Building dbt Data Pipelines」から「9. dbt pipelines - Intermediate」
- Part4:パイプライン構築編その2 ※12/22に公開予定、公開後にリンクも正常に動作します。
- 「10. dbt pipelines - Seeds」から「12. dbt pipelines - Facts」
- Part5:テスト&Doc&デプロイ編 ※12/23に公開予定、公開後にリンクも正常に動作します。
- 「13. dbt pipelines - Tests & Docs」から「16. Appendix」
この記事では、「基本設定編」ということで「1.Overview」から「5. dbt Configuration」までの内容についてまとめていきます。
1.Overview
このクイックスタートの概要について書いてあります。
冒頭の説明では、Snowflakeとdbtの概要について記述しております。下記の記事も参考になると思いますので、ぜひ併せてご覧ください。
このクイックスタートで必要なもの
- Snowflake
- ACCOUNTADMINロールでの操作が可能がアカウントが必要です。
- 30日間のトライアルアカウントでも問題ありません。トライアルアカウントの作成手順についてはこちらの記事も参考になると思いますのでぜひご覧ください。
- dbt
- dbt Cloudのアカウントが必要です。
- アカウントの作成手順については、後述の「5. dbt Configuration」で説明します。
このクイックスタートで作るもの
データ品質のテストなどのベストプラクティスを利用した、dbtとSnowflakeを活用した金融サービスデータのデータ分析パイプラインを作っていきます。
使用するデータについては「4. Connect to Data Source」で言及します。
2. Architecture and Use Case Overview
このラボで構築する、dbtとSnowflakeを組み合わせたアーキテクチャについて書いてあります。以下、本文のDeepL翻訳です。
このラボでは、さまざまな地域にトレーディングデスクを持つ企業の過去の取引実績を分析する予定です。入力として、Snowflake Data Marketplaceで提供されているKnoema Economy Data Atlasで利用可能なデータセットを活用する予定です。また、いくつかの手動アップロードも利用します。そのために、環境のセットアップ、dbtでのスケーラブルなパイプラインの構築、データテストの確立、そして本番環境へのコードのプロモートを行っていきます。
3. Snowflake Configuration
ここでは、Snowflakeのアカウントにログインするところだけが書いてあります。
トライアルアカウントにログインする所については、下記リンクをご覧ください。
4. Connect to Data Source
ここでは、SnowflakeのMarketplace機能を活用して、このクイックスタートで使用するKnoema社が提供しているデータを利用するための手順について書いてあります。
まず、ロールをACCOUNTADMIN
に切り替えます。
その後、画面上部のData Marketplace
を推して頂き、下図の赤枠に沿って進めてください。※途中再度ログイン情報の入力が必要となります。
再度、ロールをACCOUNTADMIN
に設定します。
その後、画面上部の検索BOXにKnoema Economy Atlas Data
と入力して頂き、表示されたEconomy Data Atlas
をクリックします。
右側にあるGet Data
を押し、表示されたポップアップ上で作成するデータベースの名前をKNOEMA_ECONOMY_DATA_ATLAS
に変更して、Get Data
を推します。
これで、使用するデータベースの準備は整いました!以下はおまけですが、Query Data
からワークシートに移動し、サンプルクエリを実行することも出来ます。
5. dbt Configuration
ここでは、dbtの設定をSnowflakeのPartner Connect機能を用いて行っていきます。
画面左上のHOMEボタンを押します。
その後、左上の自身のユーザー名をクリック後、Partner Connect
をクリックします。
Partner Connectの画面の一番上の検索BOXにでdbt
と入力し、表示されたdbtのアイコンをクリックします。
dbt用のデータベースやウェアハウスなどを設定するためのポップアップが表示されます。
Optional Grant
を押して、先程作成したデータベース名KNOEMA_ECONOMY_DATA_ATLAS
と入力し、その後で右下のConnect
を推します。 ※このOptional Grantの設定を忘れるとロールが適切に機能しないため、ご注意ください。
右下のActivate
を押します。
ACCOUNT_NAME
を任意の名称で入力後、右下のComplete Registration
を押します。これでdbtの設定は完了です!
※このdbtのアカウント初期設定について、私はすでに対象のメールアドレスでdbtのアカウントを持っていたため、ACCOUNT_NAME
の入力だけで済んだ可能性があります。皆様が実際に設定頂いた場合には、公式ページの画像のように表示される可能性があります。その場合は、入力欄に沿ってご記入後、右下のComplete Registration
を押してください。
次回
Snowflakeをより使いこなそう! Advent Calendar 2021、次回の20日目では、「Snowflake×dbtを試してみた~Part2:Project設定編~」というタイトルで執筆します。お楽しみに!